home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 26.zip / BS1 part 26 / Macro assembler dev syst.adf / include / exec / ables.i next >
Text File  |  1985-12-20  |  2KB  |  89 lines

  1.     IFND EXEC_ABLES_I
  2. EXEC_ABLES_I  SET 1
  3. **********************************************************************
  4. *
  5. * Commodore-Amiga, Inc. -- ROM Operating System Executive Include File
  6. *
  7. **********************************************************************
  8. *
  9. *   Source Control:
  10. *
  11. *  $Header: ables.i,v 1.0 85/08/28 15:05:30 carl Exp $
  12. *
  13. *  $Locker:  $
  14. *
  15. **********************************************************************
  16.  
  17.     IFND EXEC_TYPES_I
  18.     INCLUDE "exec/types.i"
  19.     ENDC !EXEC_TYPES_I
  20.  
  21.     IFND EXEC_EXECBASE_I
  22.     INCLUDE "exec/execbase.i"
  23.     ENDC !EXEC_EXECBASE_I
  24.  
  25.  
  26. *----------------------------------------------------------------
  27. *
  28. *   Interrupt Exclusion Macros
  29. *
  30. *----------------------------------------------------------------
  31.  
  32. INT_ABLES   MACRO                       * externals for dis/enable
  33.             XREF    _intena
  34.             ENDM
  35.  
  36.  
  37. DISABLE     MACRO   * [scratchReg]
  38.        IFC      '\1',''
  39.             MOVE.W  #$04000,_intena     *(NOT IF_SETCLR)+IF_INTEN
  40.             ADDQ.B  #1,IDNestCnt(A6)
  41.        ENDC
  42.        IFNC    '\1',''
  43.        MOVE.L  4,\1
  44.             MOVE.W  #$04000,_intena     *(NOT IF_SETCLR)+IF_INTEN
  45.             ADDQ.B  #1,IDNestCnt(\1)
  46.        ENDC
  47.             ENDM
  48.  
  49.  
  50. ENABLE      MACRO   * [scratchReg]
  51.        IFC      '\1',''
  52.             SUBQ.B  #1,IDNestCnt(A6)
  53.        BGE.S   ENABLE\@
  54.             MOVE.W  #$0C000,_intena     *IF_SETCLR+IF_INTEN
  55. ENABLE\@:
  56.        ENDC
  57.        IFNC    '\1',''
  58.             MOVE.L  4,\1
  59.             SUBQ.B  #1,IDNestCnt(\1)
  60.             BGE.S   ENABLE\@
  61.             MOVE.W  #$0C000,_intena
  62. ENABLE\@:
  63.        ENDC
  64.             ENDM
  65.  
  66.  
  67. *----------------------------------------------------------------
  68. *
  69. *   Tasking Exclusion Macros
  70. *
  71. *----------------------------------------------------------------
  72.  
  73. TASK_ABLES  MACRO
  74. *      INCLUDE 'execbase.i' for TDNestCnt offset
  75.             XREF    _LVOPermit
  76.             ENDM
  77.  
  78.  
  79. FORBID      MACRO
  80.             ADDQ.B  #1,TDNestCnt(A6)
  81.             ENDM
  82.  
  83.  
  84. PERMIT      MACRO
  85.             JSR      _LVOPermit(A6)
  86.             ENDM
  87.  
  88.     ENDC !EXEC_ABLES_I
  89.